草庐IT

Delphi 命令行

全部标签

xml - Delphi:无效的 XML 通过 MSXML 验证

我已尝试在MSDN上重新编写一个JScript示例,以便根据某些模式验证XML。作为第一次尝试,我使用了示例中使用的sl-valid.xml、sl-notValid.xml和sl.xsd文件。我的代码如下:procedureBasicValidation(FileName:string);varXML:IXMLDOMDocument2;begin//LoadXMLandresolveexternalsXML:=ComsDOMDocument.Create;XML.async:=False;XML.validateOnParse:=True;XML.resolveExternals:=T

xml - Delphi 类到 XML 表示 :

使用德尔福XE:XML数据绑定(bind)向导生成基于XML/XSD的Delphi类-效果很好。但是我还需要走另一条路:将Delphi类转换为XML。我在XE中找不到对此的任何支持。(我知道用C#、.NET很容易完成,但很明显,因为Delphi并不真正支持反射,所以比用C#更难)我确实有一个选择是使用SharpDevelop在C#中编写类,并使用MS实用程序(我相信它是免费下载的)从C#代码生成XML。我也有支持此功能的VS2005,但尚未安装,我不想参与其中。有人对如何完成这项工作有任何建议:直接从Delphi到XML/XSD?一个开源工具会很好,或者一些好的单元可以做到这一点。

xml - 在 shell 脚本中使用 sed 命令在 XML 文件中添加 XML 元素

我正在使用sed命令将xml元素插入到现有的xml文件中。我有xml文件作为john123mike234我想添加新的元素作为NewNameNewID所以我的新xml文件将是john123mike234NewNameNewID为此,我将shell脚本编写为#!/bin/bashCONTENT="NewNameNewID"#sed-i.bak'//i\"$CONTENT"/root/1.xmlsed-i.bak'//i\'$CONTENT'/'/root/1.xml我得到的错误是sed:can'treadNewName:Nosuchfileordirectorysed:can'treadN

xml - 如何使用 Delphi 管理从 EXE 的多个实例对 XML 文件的并发输入/输出访问。

我有一个命令行工具,用Delphi写的,它的工作是在XML文件中插入一个节点,然后立即退出。我需要使该工具的多个实例能够同时执行并将节点插入到同一个XML中。为了达到这个目的,我引入了一个简单的文件“mutex”——该工具在写入XML之前创建一个临时文件,然后在完成写入后删除该临时文件。因此,如果执行另一个实例,它会检查此临时文件是否存在并等待直到它被删除。然后它再次创建临时文件,写入XML并删除临时文件。问题是只有当2-3个实例尝试同时写入XML文件时,这才能正常工作。当有更多实例时-其中一些实例只会永远等待并且永远不会将节点附加到XML中。有没有更好的方法让它在同时运行和写入XML

xml - 如何使用delphi搜索和替换xml文件中的标签值?

如何使用Delphi在XML文件中搜索和替换标签值?我知道XML标签是什么,但该值是随机的,只需将其重置为默认值即可,因此实际上我不能/不应该搜索该值,而只能搜索标签。我也知道文件的位置。我是Delphi的新手,有人可以为我提供一个简单的例子来说明如何做到这一点吗?提前谢谢你。 最佳答案 我将使用Delphi的IXMLDocument加载XML文件,并使用该文档替换元素。像这样:usesXMLDoc,XMLIntf;procedureChangeTag(constfilename:String);vardoc:IXMLDocumen

c# - 如何在 C# 中修改 Cortana 语音激活命令 (XML)?

我目前在我的Silverlight应用程序中实现了Cortana。语音命令存储在CortanaCommands.xml中,代码如下:Dr.BaileyOpenapptotakedictationIsitgoingtorain?[create]{dictation}""Cal123"在此示例中,如果用户部署Cortana并说“Dr.Bailey,会下雨吗?”,然后应用会导航到CortanaText.xaml。这是硬编码到XML中的,我希望用户能够自定义他们的命令前缀和命令。通过使用2个文本框,我在C#中编写了一个包含整个XML的字符串,但从包含新命令前缀和命令的文本框中插入选项。此字符串

xml - 通过 Delphi XML 数据绑定(bind)向导使用 XML 枚举

我有一个使用枚举的XML模式,但是当我在Delphi中查看生成的XML对象时,枚举限制已被删除。有没有办法让Delphi生成枚举并将其构建到对象中?XSD片段:我希望在Delphi中看到的是一个接受枚举的字段,然后在生成XML时将其转换为相应的字符串,但该字段只是一个普通字符串。 最佳答案 您可以做的是使用与名称相同的字符串常量创建您自己的枚举类型,并将单元TypInfo与函数GetEnumValue和GetEnumString一起使用。这允许您像在其他Delphi代码中一样在名称前加上几个小写字母:Value:=TMyEnum(G

xml - Delphi 由于枚举名称中的连字符导致错误导入 WSDL,我该怎么办?

我正在使用Delphi并使用来自另一家公司的wsdl文件来设置我的代理类以使用来自他们的Web服务的数据。wsdl文件包含以下内容:Enumeratesallowabledeparturestatuses(DEPARTED,NOT-DEPARTED)当我生成代理类时,我得到以下信息:departStatus=(DEPARTED,[System.Xml.Serialization.XmlEnumAttribute('NOT-DEPARTED')]NOTDEPARTED);除非我删除以[System.xml...开头的行,否则它不会编译,并且它不会将“NOT-DEPARTED”识别为dep

xml - 是否有支持泛型的 Delphi 对象序列化库?

我所知道的所有开源对象序列化库(JvAppStorage、NativeXml、OmniXML、SuperObject、lkJSON)似乎还不支持泛型属性。(如有错误请指正)。你知道有这个功能或计划添加它的图书馆吗?Delphi2010中的JSON序列化库怎么样(我还在用Delphi2009)例子...publishedpropertyProp1:TObjectListreadGetProp1writeSetProp1;... 最佳答案 看看我在这篇文章中使用JCL/JVCL序列化器的简单解决方案:HowtoserializeDelp

xml - 在 delphi 中使用 msxml 进行模式验证

我正在尝试根据它引用的模式验证XML文件。(使用Delphi和MSXML2_TLB。)代码的(相关部分)看起来像这样:procedureTfrmMain.ValidateXMLFile;varxml:IXMLDOMDocument2;err:IXMLDOMParseError;schemas:IXMLDOMSchemaCollection;beginxml:=ComsDOMDocument.Create;ifxml.load('Data/file.xml')thenbeginschemas:=xml.namespaces;ifschemas.length>0thenbeginxml.s